1. Field of the Invention
The present invention relates to the field of consumer electronic devices. More specifically, the present invention relates to methods and systems for providing user interfaces for networked electronic devices including remote devices.
2. Related Art
The typical home entertainment system today consists of a variety of different consumer electronic devices which present and record audio/visual media in different ways. In the field of media devices, there is a spectrum of features for products of a given class (VCRs, video camera, etc.). Most of the features are represented by physical controls or elements on a control panel on the device which can be manipulated by a human user.
Recently, a class of consumer electronic media devices has been introduced that can be networked together using a standard communication protocol layer (e.g., IEEE 1394 communication standard). The IEEE 1394 standard is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. The IEEE 1394 standard provides a high-speed serial bus for interconnecting digital devices thereby providing universal input/output connection. The IEEE 1394 standard defines a digital interface for applications thereby eliminating the need for an application to covert digital data to an analog form before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data from the bus, not analog data and will therefore not be required to convert analog data to digital form. The IEEE 1394 is ideal for consumer electronics communication in part because devices can be added to or removed from the serial bus while the bus is active. If a device is so added or removed, the bus automatically reconfigures itself for transmitting data between the then existing devices. Each device on the bus is a xe2x80x9cnodexe2x80x9d and contains its own address space.
The provision of the IEEE 1394 serial communication bus for networking consumer electronic devices has introduced a powerful new platform on which device functionality and inter-operability can be built. For instance, in such a system, complex operations involving media transfers, media recordings and media presentation can be performed that involve two or more devices acting in concert. However, interaction between these devices can be complex, error prone and laborious if it is required that each device be directly touched in order to properly configure the desired operation. The problems associated with properly configuring the media operation can be exacerbated if one or more of the devices are remotely located and/or need constant attention and or adjustment. What is needed is an effective mechanism for interfacing with networked consumer electronic devices to facilitate media operations between two or more devices.
In addition, it is often desired to provide remote control access to the features performed by a consumer electronic device so that these devices can be accessed from a central location within a home or office. However, not all consumer electronic devices are able to provide a sophisticated display system for remote interaction, e.g., some devices offer only a small liquid crystal display (LCD) or a small collection of light emitting diodes (LEDs) as display devices. What is needed is a mechanism for interfacing remotely with devices that provides a sophisticated level of user interaction for many devices. Also, in many consumer electronic systems, each device can have its own remote control unit. In systems having even a modest amount of devices, the user discovers that three or more different and bulky remote control devices are required to perform media operations. What is needed is a mechanism for interfacing with electronic devices that reduces the problems of having different remote control units for different devices. What is needed further is a mechanism for interfacing with electronic devices that is flexible and can adapt to new devices and device types within the consumer electronics market.
Moreover, often the display required of a target device needs to be displayed on a controller device without altering the arrangement of the objects. For instance, electronic program guide (EPG) information needs to be arranged in a particular order for customary reference and understanding by a user. This is typically the case because the arrangement of this information has a strong meaning to the user. An effective method and mechanism are required for allowing a target device to communication information to a controller so that the arrangement of a particular display of information is not altered by the controller. In addition, in instances where a reduced processing capable controller is used, a quick and efficient system is required for the controller to identify the capabilities of the target and relay this information efficiently to the user.
Accordingly, the present invention provides an effective mechanism for interfacing with networked consumer electronic devices to facilitate media operations between two or more devices. The present invention also provides a mechanism for interfacing remotely with devices and that provides a sophisticated level of user interaction for many devices that themselves may have limited display capability. Specifically, the present invention provides a graphical user interface between a target device and a controller device whereby the target device can enforce a particular arrangement of the information displayed by the controller. This is accomplished by the target sending the controller exact bitmap images that are displayed by the controller. Also, the present invention provides a mechanism whereby a controller can quickly scan a root panel list to determine the functionality of the target and then, in response to a user command, the controller can generate the root panel display without further communication with the target.
The present invention also provides a mechanism for interfacing with electronic devices that operates using a central remote control station and a central display for instructing different electronic devices and for receiving status information regarding the different electronic devices. The present invention provides an interface mechanism for interfacing with electronic devices that is additionally flexible and can adapt to new devices and device types within the consumer electronics market. These and other advantages of the present invention not specifically mentioned above will become clear within discussions of the present invention presented herein.
Exact Image Transfer/Root Panel List. A method and system are described herein for providing an exact image transfer and root panel list within the panel subunit graphical user interface mechanism of networked electronic devices. The exact image transfer mechanism allows a target device to send a networked controller device a bitmap image of the exact display required of the target device. By transferring an exact bitmap of what is to be displayed, the target device can guarantee that the display rendered by the controller will not be modified or altered. This is useful in cases where the display represents an electronic program guide (EPG) or other suitable display that should be displayed with a predetermined arrangement and should not be altered by the controller. This is also useful in cases where the controller does not have a robust processing capability and therefore merely displays the exact bitmap sent by the target. Focus navigation is communicated from the controller to the target which then can alter the bitmap to illustrate an updated focus. Command pass-through can be used to communicate the focus navigation commands to the target. Command pass-through allows a target to predefine certain user commands that will be communicated directly from the controller to the target without using the panel subunit communication protocol. Command pass-through is useful for communicating commands from specialized keys associated with the controller, such as dedicated remote control buttons (e.g., guide key, selection up, selection down, selection right, selection left, etc.).
A root panel list maintained by the target can also be used to inform the controller of the capabilities of the target. The entries of the root panel list can be bitmap type, element type or analog video type. A controller can more readily generate the root panel without requiring more information from the target device and without having to render the entire panel subunit descriptor information for instances when a controller having a reduced processing set is used.
Panel Subunit. The exact image transfer and the root panel list can be implemented within the architecture of a panel subunit mechanism which is summarized below. A method and system are described herein for providing a user interface for a networked electronic device using panel subunit descriptor information maintained by a target device. The present invention utilizes a panel subunit to allow any compliant device (e.g., a target device) to describe the physical appearance of its controls and displays (e.g., elements) to another device (e.g., an intelligent controller) and allows the intelligent controller to trigger actions on the target device as if a user had physically manipulated the controls on the target device directly. The present invention operates within a network of consumer electronic devices, e.g., television (TV), set-top-box, video cassette recorder (VCR), compact disk (CD) device, personal computer system (PC), etc., that are coupled together using a standard communication protocol layer, e.g., the IEEE 1394 serial communication standard. An intelligent controller (e.g., a TV or set-top-box or both) monitors the network to discover the units coupled thereto and is programmed to locate panel subunits that are defined for a target device. The target device may be remotely located.
In general, the panel subunit then provides the intelligent controller with information for rendering a depiction of the controls and displays of the target device and this depiction can be interacted with by a user for remotely triggering actions by the target device. The panel subunit is defined such that command interpretations and image alterations are controlled by the target device thereby reducing the responsibility of the intelligent controller in managing the user interface with generic user events. This approach allows increased flexibility to expand the user interface and adjust to future control types and display information protocols.
The panel subunit uses control objects stored in an object descriptor list to define the physical controls of the target device. The control objects are defined with several standard types of controls and displays (e.g., push buttons, sliders, dials, LCD screens, etc.) that are commonly found on consumer electronic devices. The control types have well defined behaviors (e.g., buttons are pushed, dials are moved, values are input, etc.). In addition, the panel subunit defines a set of commands which are to be applied to any of these controls when selected by the user. The commands are defined to be sufficiently generic so that they apply to most types of controls. The panel subunit also defines generic user interaction commands (or user events) which can be applied to the controls (e.g., press, press and hold, release, input value, etc.) by a user. The purpose of these generic user events is to encapsulate the typical user manipulated action for the controls and to let the target device decide the manner in which to interpret the user actions on its own thereby relieving the intelligent controller of these responsibilities.
A status descriptor of the panel subunit keeps the intelligent controller informed of the status of the target device being manipulated. The status descriptor data structure is dynamic and is maintained up to date by the panel subunit. The intelligent controller examines the status descriptor to update its graphical display to indicate the target device status to the user. A panel status notification command allows the intelligent controller to post a notification request to the target device to indicate when any changes in the state of the target device result in a change in the status descriptor. Related controls of a target device can be grouped together into local groups which the panel subunit allows to be displayed or processed together in special ways.
More specifically, in a network of consumer electronic products, embodiments of the present invention include, in a network of electronic devices, a method of controlling a target electronic device, the method comprising the steps of: a) the target generating a bitmap image containing objects and sending the bitmap image to a controller; b) the controller displaying the bitmap image without modifying the arrangement of the objects within the bitmap image and wherein at least one of the objects is a default focus; c) the controller sending the target a first command code; d) the target, in response to the first command code, altering the default focus to a first updated focus and generating a first updated bitmap image reflecting the first updated focus, the target sending the first updated bitmap image to the controller; and e) the controller displaying the first updated bitmap image without modifying the arrangement of objects within the first updated bitmap image. Embodiments also include the above and wherein the bitmap images represent electronic programming guide information.
Embodiments also include an electronic network comprising: a target device comprising computer readable memory containing a root panel list comprising a plurality of entries wherein each entry corresponds to a function of the target device, each entry also containing a field for indicating a visual appearance of a respective panel and containing a field for indicating an identification code; and a controller device coupled to the target device and operable to read the root panel list of the target device, the controller device, in response to a user command, operable to generate a root panel display containing a plurality of panels based on the root panel list, wherein the controller device is operable to communicate an identification code to the target device in response to a panel of the root panel display being selected; and the target device identifying a function based on the identification code and executing the function.